/*
 * 
 * 
 * 
 */
package com.hboxs.asl.dao;

import com.hboxs.asl.Page;
import com.hboxs.asl.Pageable;
import com.hboxs.asl.entity.Deposit;
import com.hboxs.asl.entity.Member;
import com.hboxs.asl.entity.Order;
import com.hboxs.asl.entity.Payment;

import java.math.BigDecimal;

/**
 * Dao - 预存款
 */
public interface DepositDao extends BaseDao<Deposit, Long> {

    /**
     * 查找预存款分页
     *
     * @param member   会员
     * @param pageable 分页信息
     * @return 预存款分页
     */
    Page<Deposit> findPage(Member member, Pageable pageable);

    /**
     * 生成预存款记录
     *
     * @param type
     * @param credit
     * @param debit
     * @param operator
     * @param memo
     * @param member
     * @param order
     * @param payment
     */
    void generate(Deposit.Type type, BigDecimal credit, BigDecimal debit, String operator, String memo, Member member, Order order, Payment payment);



}